const express =require('express')
const route = express.Router()
const path = require("path")
const fs = require("fs");


const advModel = require('../db/model/advModel')//引入广告列表的数据库集合


route.delete('/deleteAdv',async (req,res)=>{
    const {_id}=req.query//获取到需要删除的数据的id值

    //删除数据库对应的图片
  //首先去数据库查询当前的_id对应的图片名
   try{ 
    const {
        advHref
    } = await advModel.findOne({_id})//通过id找到对应的那条广告的所有信息组成的对象；find方法是查询所有广告的信息，返回的是数组，数组里是每条广告的所有信息所组成的对象
   //得到的advHref是/upload/xxxxxx.jpg,我们只需要xxxxxx.jpg这一部分，所以用字符串的split方法，以/为切割点，返回的数组中下标为2的数组
  const imgName = advHref.split('/')[2]

  fs.unlink(path.resolve(__dirname,'../upload',imgName),()=>{
   console.log('删除成功')
  })//fs的异步删除文件，第一个是路径，第二个是回调函数

}catch(e){
    console.log("删除图片逻辑有错" + e.message);
    return res.send({
      code: 10001,
      msg: "删除图片逻辑有错" + e.message,
      data: null
    })
}

//删除数据库的数据
try{
    const deleteResult = await advModel.deleteOne({_id})//把数据库中id对应的数据删掉
    res.send({
        code:10000,
        msg:'删除广告列表成功',
        data:null
    })
}catch(e){
    console.log('删除广告列表失败')
    res.send({
        code:10001,
        msg:'删除广告列表失败'+e.message,
        data:null
    })
}



})
module.exports = route 